查看原文
其他

Android 11 Labs 线上活动盘点 | 视频合集来了!

Android 谷歌开发者 2020-09-20
Android 生态正在持续蓬勃发展,我们在 Android 上已经拥有超过 25 亿的活跃设备。自 2 月份发布 Android 11 首个开发者预览版以来,目前已经迭代到第三个版本

隐私保护一直是 Android 系统的重要核心。每年我们都会加入更多方法来保护用户安全,并为他们提高透明度和控制力。在 Android 11 中我们为用户带来更强大的保护,包括提供新的权限变更、分区存储、前台服务、应用包可用性,隐私数据审核、兼容性等。为确保 Android 11 符合开发者和用户的需求,我们也在不久前通过线上直播的方式带来了 Android 11 Labs,与大家云见面,深度探寻了 Android 11 的重要变更。分享前沿技术更新的同时,Android 团队还与参会开发者在线互动,解答问题,并提供了适配指导。下面我们将带您回顾 Android 11 Labs 线上活动中分享的精彩内容,希望能对您有所帮助。

*由于文章内可展示视频数量限制,欢迎访问 Bilibili 观看完整视频合集。


  • Android 11 开发者网站
    https://developer.android.google.cn/11
  • Bilibili 视频合集链接
    https://www.bilibili.com/medialist/play/ml955816058


分区存储


  • 腾讯视频链接
    https://v.qq.com/x/page/d0959w4qnas.html
  • Bilibili 视频链接
    https://www.bilibili.com/video/BV1fT4y1g74Z/


我们一直在致力于更好地保护外部存储上的应用和用户数据。在 Android 10 中首次引入的分区存储,将共享存储区分为各个集合,并限制应用对此区域随意访问。可以帮助您拥有更清晰的应用归属,并对应用数据和用户数据进行了保护。本次 Android 11 基于开发者的反馈,针对权限变更、MediaStore API、文件访问限制等方面作出了改进,让分区存储的适配变得更容易。请前往开发者网站了解详情


  • Android 11 中的存储机制更新
    https://developer.android.google.cn/preview/privacy/storage



权限变化


  • 腾讯视频链接
    https://v.qq.com/x/page/a0959h1m9ue.html
  • Bilibili 视频链接
    https://www.bilibili.com/video/BV1JK41157Yu/


在 Android 10 中我们了解到用户倾向于分享更少的私人信息和数据给应用,其实在常见的用例中,很多应用是不需要使用后台位置权限的。因此基于用户的反馈,我们在 Android 11 中为用户提供了对私人数据更精确的控制,并且更加限制应用在后台对位置的访问。

对于最敏感的数据类型,包括位置信息、设备的麦克风和摄像头,用户现在可以授予一次性的临时访问权限。这个权限意味着应用可以访问相关数据,直到用户离开应用为止,此后,应用必须再次请求权限,才能进行下一次访问。如果您的应用已经遵循权限的实践指南,则无需做任何改动即可适配。请前往开发者网站了解详情


  • Android 11 中的权限更新
    https://developer.android.google.cn/preview/privacy/permissions


隐私数据审核


  • 腾讯视频链接
    https://v.qq.com/x/page/a0959wawuth.html
  • Bilibili 视频链接
    https://www.bilibili.com/video/BV1JK4y1b7yT/


数据访问审核是 Android 11 提供的开发者功能,它可以让开发者更好地了解自己的应用访问用户数据的情况,以及访问的流程路径。例如,它能帮您识别意外的私有数据访问,从而减少意外地从很久没维护的代码或从其他 SDK 访问隐私数据。请前往开发者网站了解详情。

  • Android 11 中的隐私数据审核 API

    https://developer.android.google.cn/preview/privacy/data-access-auditing



应用包可见性


为了增加安全性,更好地保护用户的隐私,Android 11 对应用包的可见性做出了一些改动,包括: 
  • 改变通过 PackageManager 的应用查询结果和应用交互;

  • 只影响 targetSdkVersion 为 30 或以上的应用;

  • 新增的 <queries> manifest 参数。


Android 11 更改了应用查询同一设备上的其他已安装应用及与之交互的方式。如果您的应用以 Android 11 为目标平台,则大多数常见的交互都不需要对您的应用进行任何更改。在某些情况下,您可能需要在应用的清单文件中添加 <queries>  元素,以便系统知道要向您的应用显示哪些其他应用。要在开发者预览版中使用 <queries> 标记,请使用 Android Studio 3.6.1 或更高版本,并使用最新可用的 Android Gradle 插件版本。请前往开发者网站了解详情。欢迎访问以下链接观看《应用包可见性 | Android 11 Labs》视频回顾


  • Android 11 中的应用包可见性

    https://developer.android.google.cn/preview/privacy/package-visibility

  • 《应用包可见性 | Android 11 Labs》视频回顾
    https://www.bilibili.com/medialist/play/ml955816058/p4


新的前台服务类型


前台服务是当应用不处于活跃状态的时候,还能继续运行并为用户持续提供服务的机制。为了进一步保护用户隐私,Android 11 更改了前台服务访问摄像头和麦克风相关数据的方式,如果您的应用以 Android 11 为目标平台并且需要在某项前台服务中访问这些类型的数据,则您需要在该前台服务的 foregroundServiceType 属性中列出相应的类型。

请前往开发者网站了解详情,欢迎访问以下链接观看《新的前台服务类型 | Android 11 Labs》视频回顾


  • Android 11 中的前台服务类型

    https://developer.android.google.cn/preview/privacy/foreground-service-types

  • foregroundServiceType

    https://developer.android.google.cn/reference/android/R.attr?hl=zh-cn#foregroundServiceType

  • 《新的前台服务类型 | Android 11 Labs》视频回顾
    https://www.bilibili.com/medialist/play/ml955816058/p6


Android 11 中的一些其他新功能


Android 11 面向用户和开发者引入了强大的新功能:


应用退出原因 API 更新
应用退出的原因有很多,应用崩溃、系统终止以及用户操作都有可能导致应用退出。应用所在的设备类型、内存配置和运行场景各不相同,所以了解应用退出的原因以及当时的状态十分重要。Android 11 通过退出原因 API (Application Exit Info) 让这个事情变得更加容易: 您可以使用该 API 来查看应用最近退出的详细信息。请前往开发者网站了解详情


  • 查看应用退出详细信息
    https://developer.android.google.cn/reference/android/app/ApplicationExitInfo

同步 IME 切换效果
这是一组全新的 API,让您可以在 IME (输入法编辑器,也叫软键盘) 和系统栏进出屏幕时同步调整应用中的内容,从而更轻松地创建出自然、直观、高品质的 IME 切换效果。为了确保切换时做到逐帧精确,新的边衬区动画监听器 (Insets Animation Listener) 会在 IME 或系统栏移动时逐帧告知应用边衬区的变化。
 
  • 新的边衬区动画监听器 (Insets Animation Listener)
    https://developer.android.google.cn/reference/android/view/WindowInsetsAnimation.Callback


可变刷新率
应用和游戏现在可以为其窗口设置首选帧率。大多数 Android 设备以 60Hz 的刷新率更新屏幕,但是某些设备支持多种刷新率,例如 90Hz 和 60Hz,并可在运行时切换。在这些设备上,系统会基于首选帧率来为应用选择最佳刷新率。您可以通过 SDK 和 NDK 来使用本 API。请前往开发者网站了解详情
 
  • 设置首选帧率
    https://developer.android.google.cn/reference/android/view/Surface#setFrameRate(float,%20int)

欢迎访问以下链接观看《Android 11 中的一些其他新功能 | Android 11 Labs》视频回顾


  • 《Android 11 中的一些其他新功能 | Android 11 Labs》视频回顾
    https://www.bilibili.com/medialist/play/ml955816058/p5



非公开接口限制和兼容性框架


兼容性框架
Android 11 引入了新的工具,用于针对最新版平台中的行为变更来测试和调试应用。这些工具属于新的兼容性框架的一部分,可让应用开发者单独开启和关闭各项变更。有了这种灵活性,您可以关闭单项变更,然后继续针对平台中的其他变更测试应用;也可以每次单独针对一项行为变更测试应用。请前往开发者网站了解详情
 
  • 测试应用与 Android 11 的兼容性
    https://developer.android.google.cn/preview/test-changes


非 SDK 接口
为缓解应用对于非 SDK 接口的依赖,减少使用非公开接口导致新 Android 版本中的兼容性问题,Android 11 包含了更新后的受限制非 SDK 接口列表 (基于与 Android 开发者之间的协作以及最新的内部测试)。在限制使用非 SDK 接口之前,我们会尽可能确保提供公开替代方案。


如果您的应用并非以 Android 11 为目标平台,那么其中一些变更可能不会立即对您产生影响。虽然您目前仍然可以使用灰名单中的一些非 SDK 接口 (取决于您的应用的目标 API 级别),但如果您使用任何非 SDK 方法或字段,则应用无法运行的风险终归较高。请前往开发者网站了解详情。欢迎访问以下链接观看《非公开接口限制和兼容性框架 | Android 11 Labs》视频回顾。
 
  • 目标 API 级别

    https://developer.android.google.cn/guide/topics/manifest/uses-sdk-element#target

  • Android 11 中有关限制非 SDK 接口的更新

    https://developer.android.google.cn/preview/non-sdk-11

  • 《非公开接口限制和兼容性框架 | Android 11 Labs》视频回顾
    https://www.bilibili.com/medialist/play/ml955816058/p5


即刻开始体验 Android 11


我们希望这次的线上活动能够帮助开发者们掌握 Android 11 的重要变更,积极推进手头的开发工作。

现在我们已经发布了开发者预览版 3,提供了许多新的功能和变化供您尝试,还对现有功能、API 和工具进行了一系列更新。不论是想体验 Android 11 的功能、测试应用还是和我们分享您的反馈,都可以从这次的开发者预览版 3 开始。

长按识别上方二维码分享反馈信息
与往常一样,您的反馈至关重要,所以请务必继续和我们分享您的想法 —— 我们越早听到您的声音,就能整合越多的反馈。如果您在测试中发现了问题,请报告给我们

  • 分享使用反馈和想法
    https://developer.android.google.cn/preview/feedback
  • 报告问题
    https://issuetracker.google.com/issues/new?component=190602&template=1407746



推荐阅读






 点击屏末 | 阅读原文 | 观看 Android 11 Labs 精彩回顾



    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存